Mathematica 代码

1 矩阵操作

更详细的用法参考官网,这里不再列出;本章笔记的主要目的是

1.1 矩阵的输入

1.1.1 通过模板

面板 - 数学助手(或书写助手) - 排版 - 矩阵模板.

 

1.1.2 一般矩阵

 

1.1.3 特殊矩阵

 

1.2 基础操作

1.2.1 常用函数

 

1.2.2 提取元素

提取元素操作说明
矩阵元素m[[ i, j ]]第 i, j 个元素
 m[[ i, j ]] = a重新设置元素 { i,j } 为 a
 m[[i]][[j]]第 i, j 个元素
矩阵的行m[[ i ]]第 i 行
 m[[ i ]] = a重新设置第 i 行的所有元素为 a
 m[[ i ]] = {a1, a2, …}重新设置第 i 行的各个元素为 {a1,a2,…}
矩阵的列m[[ All, j ]]第 j 列
 m[[ All, j ]] = a重新设置第 j 列的所有元素为 a
 m[[ All, j ]] = {a1, a2, …}重新设置第 j 列的各个元素为 {a1,a2,…}

 

1.2.3 提取范围

提取范围操作说明
双分号m[[i0 ;; i1]]第 i0 行到第 i1 行的元素
 m[[i0;;i1;;k]]步长为 k
 m[[i0 ;;]]第 i0 行到最后一行的元素
 m[[;; i1]]第一行到第 i1 行的元素
 m[[i0;;i1, j0;;j1]]第 i0 行到第 i1 行,第 j0 列到第 j1 列的子矩阵
列表下标m[[{i1, i0...}]]交换顺序为 i1、i0...

 

1.3 基础运算

A = {{1, 2}, {3, 4}} 为例,

1.3.1 逐元素运算

  1. 加法

  1. 减法

  1. 乘法

  1. 除法

  1. 次方

 

1.3.2 矩阵的运算

  1. 点乘(矩阵乘法)

  1. 直积(Kronecker 积):KroneckerProduct[A, B]

  2. 求逆:Inverse[A]

  3. 转置:Transpose[A]

  4. 共轭:Conjugate[A]

  5. 共轭转置:ConjugateTranspose[A]

  6. 次幂:MatrixPower[A, n]

  7. 叉积:Cross[v1, v2]

 

1.3.3 其他的函数

  1. 行列式:Det[A]

  2. 迹:Tr[A]

  3. 秩:MatrixRank[A]

  4. 求和

  1. 范数

  1. 特征值

 

2 线性方程组

2.1 线性求解

2.1.1 LinearSolve

 

2.1.2 精确和符号矩阵

符号矩阵求解

数值矩阵求解

 

精确求解的方法说明
"CofactorExpansion"拉普拉斯 cofactor 展开
"DivisionFreeRowReduction"不可除行化简的 Bareiss 方法
"OneStepRowReduction"标准行化简

 

2.1.3 近似解数值矩阵

近似求解的方法说明
"Banded"带状矩阵求解器
"Cholesky"正定 Hermitian 矩阵的 Cholesky 方法
"Krylov"迭代 Krylov 稀疏求解器
"Multifrontal"直接稀疏 LU 分解
"Pardiso"并行直接稀疏求解器

 

2.2 矩阵分解

2.2.1 LU 分解

求解算法

任意精度

 

2.2.2 Cholesky 分解

求解算法

任意精度

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

参考资料